﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Interfaces
{
    public interface ISystemConfiguration
    {
        event Action<string, string> ErrorOccured;

        string GetConfig();

        void DeleteAllAndPersistOperations(List<IOperation> operations, string sessionId = null, string configPath = null);

        void PersistOperation(IOperation operation, string sessionId = null, string configPath = null);

        void PersistOperations(List<IOperation> ops, string sessionId = null, string configPath = null);

        List<IOperation> GetOperations(string sessionId = null, string configPath = null);

        List<IDevice> GetDevices(string sessionId, string configPath = null);        
    }
}